package com.cetcs.kmga.dataManager.service.feature;

import com.cetcs.kmga.dataManager.entity.global.AlarmCode;
import com.cetcs.kmga.dataManager.entity.global.CodeType;
import com.cetcs.kmga.dataManager.entity.global.vi.CodeTypeIn;


import java.util.List;
import java.util.Map;

/**
 * 码值服务层
 *
 * @author xutao
 * @version V1.0 创建时间：2017-09-26 10:12
 *          Copyright 2017 by CETC
 */
public interface FeatureCodeService {

    /**
     * 查询某种类型的所有码
     *
     * @param typeId 类型ID
     * @return
     */
    List<AlarmCode> findFeatureCodesByTypeId(Integer typeId);


    /**
     * 根据名称或ID查询出对应的值
     *
     * @param typeId 类型ID
     * @param code   编码值
     * @param name   名称
     * @return
     */
    List<AlarmCode> findFeatureCodeByIdOrName(Integer typeId, String code, String name);


    /**
     * 根据类型批量查询
     *
     * @param records 数组名称
     * @return
     */
    Map<Integer, CodeType> findFeatureCodesByTypeIds(List<CodeTypeIn> records);

    /**
     * 从H2数据库中获取码表值
     *
     * @param typeId
     * @param code
     * @return
     */
    String acquireValueByCodeAndTypeId(String typeId, String code);
}
